package com.itheima.protocol.curator;

import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.recipes.cache.NodeCache;

/**
 * 三种watch来做节点的监听
 * pathcache 监视一个路径下子节点的创建，删除，节点数据更新
 * NodeCache 监视一个节点的创建，更新，删除
 * TreeCache pathcache+nodecache的合体（监视路径下的创建，更新,删除事件）
 * 缓存路径下所有子节点的数据
 */
public class CuratorEventDemo {

    public static void main(String[] args) throws Exception {

        CuratorFramework curatorFramework = CuratorClientUtils.getInstance();


        final NodeCache cache = new NodeCache(curatorFramework, "/node2", false);
        cache.start(true);

        cache.getListenable().addListener(() -> System.out.println("节点数据发生变化,变化后的结果："
                + new String(cache.getCurrentData().getData())));

        curatorFramework.setData().forPath("/node2", "124534534".getBytes());

        System.in.read();

    }

}
